function [logStr, proceed] = setupProcess(logStr)
    global logFile DB UTCNOW eN
    global ArchiveRoot
    
    if ~nargin
        logStr = '';
    end
    
    proceed = 0;
      
  % Create email notification object using default recipients
    defaultList = {'jbos', 'bsac', 'dgol', 'mkey', 'lafr'};
    eN = email_notification(cellfun(@(s) [s '461@ecy.wa.gov'], defaultList,...
                            'UniformOutput', 0));
      % Note: object default send state is "on" which is what we want now
    
  % Create (wrapped) database object
    DB = DBwrapper('EAPMW');
    if DB.isopen && isempty(DB.err) % Connection successful!
        proceed = 1;
        logStr = [logStr 'Connection to database ' DB.name ' successful.  '];
      % Now get & parse the DB email notification vals and update the object
        emQ = query(DB, struct('tbls', {{'Global'}},...
                                   'cols', {{'GlobalQuantity',...
                                             'ApplicableParameters'}},...
                                   'where', {{['GlobalTypeID=(SELECT '...
                                               'GlobalTypeID FROM GlobalType '...
                                               'WHERE GlobalTypeName='...
                                               '''emailList'')']}}));
        emQ.submitStatement
        if ~isempty(emQ.errCode)
            logStr = [logStr 'ALERT: Problem retrieving email notification '...
                      'data from DB; using default list of: ' sprintf('%s; ',...
                      eN.mail_recip{:}) ' and default status of email '...
                      'notification "ON".  '];
        else
            if ~any(emQ.result{1}==[0, 1])
                logStr = [logStr 'ALERT: Problem retrieving email notification '...
                          'status from DB; using default value of email '...
                          'notification "ON".  '];
            else
                eN.send = emQ.result{1};
            end
            
            if ~strcmpi(emQ.result{2}, 'NULL')
                [recipients{1}, rmdr] = strtok(emQ.result{2}, '_');
                while ~isempty(rmdr)
                    if numel(recipients{end}) ~= 4
                        break
                    else
                        [recipients{end+1}, rmdr] = strtok(rmdr, '_');
                    end
                end
            end
            if ~exist('recipients', 'var') || numel(recipients{end})~=4 || ...
               strcmp(emQ.result{2}, 'NULL')
                logStr = [logStr 'ALERT: Problem retrieving email notification '...
                          'list from DB; using default list of: ' sprintf('%s; ',...
                          eN.mail_recip{:})];
            else
                eN.mail_recip = cellfun(@(s) [s '461@ecy.wa.gov'], recipients,...
                                        'UniformOutput', 0);
            end            
        end
        
    else % Connection failed
        logStr = [logStr 'ALERT: connection to ' DB.name ' failed; here''s '...
                         'the error message: ' cellstr2str(DB.err{end}) '.  '];
    end

  % Create log file object 
    logFilePath = date2folder(ArchiveRoot, UTCNOW);
    if ~all(cellfun(@isempty, cellfun(@regexp, logFilePath, {'Message'},...
                                      {'once'}, 'UniformOutput', 0)))
        logStr = [logStr 'ALERT: couldn''t find or create log file path; '...
                         'here''s the error message: ' logFilePath '.  '];
    else
        logFileName = 'FlightProcess1.log';
        while fileExists(fullfile(logFilePath{:}, ['\' logFileName]))
            logFileName = ...
            [logFileName(1:13) num2str(1 + str2double(logFileName(14:end-4)))...
             '.log'];
        end
        logFileName = fullfile(logFilePath{:}, ['\' logFileName]);
        logFileName = regexprep(logFileName, '\', '\\\\');
        logFile = fileWrapper(logFileName, 'w+'); % Master log file, wrapped! 
        if isempty(logFile.err)
            proceed = 1;
            logStr = [logStr 'Log file ' logFile.name ' opened for writing '...
                      'and reading.  '];
        else
            logStr = [logStr 'ALERT: couldn''t open log file; here''s the '...
                      'error message: ' cellstr2str(logFile.err) '.  '];
        end
    end
  
end